#
# Platform drivers
#	All drivers here are currently for webcam support

menuconfig V4L_PLATFORM_DRIVERS
	bool "V4L platform devices"
	depends on MEDIA_CAMERA_SUPPORT
	default n
	---help---
	  Say Y here to enable support for platform-specific V4L drivers.

if V4L_PLATFORM_DRIVERS

source "drivers/media/platform/marvell-ccic/Kconfig"

config VIDEO_VIA_CAMERA
	tristate "VIAFB camera controller support"
	depends on FB_VIA
	select VIDEOBUF_DMA_SG
	select VIDEO_OV7670
	help
	   Driver support for the integrated camera controller in VIA
	   Chrome9 chipsets.  Currently only tested on OLPC xo-1.5 systems
	   with ov7670 sensors.

#
# Platform multimedia device configuration
#

source "drivers/media/platform/davinci/Kconfig"

source "drivers/media/platform/omap/Kconfig"

source "drivers/media/platform/blackfin/Kconfig"

config VIDEO_SH_VOU
	tristate "SuperH VOU video output driver"
	depends on MEDIA_CAMERA_SUPPORT
	depends on VIDEO_DEV && I2C && HAS_DMA
	depends on ARCH_SHMOBILE || COMPILE_TEST
	select VIDEOBUF_DMA_CONTIG
	help
	  Support for the Video Output Unit (VOU) on SuperH SoCs.

config VIDEO_VIU
	tristate "Freescale VIU Video Driver"
	depends on VIDEO_V4L2 && PPC_MPC512x
	select VIDEOBUF_DMA_CONTIG
	default y
	---help---
	  Support for Freescale VIU video driver. This device captures
	  video data, or overlays video on DIU frame buffer.

	  Say Y here if you want to enable VIU device on MPC5121e Rev2+.
	  In doubt, say N.

config VIDEO_TIMBERDALE
	tristate "Support for timberdale Video In/LogiWIN"
	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && HAS_DMA
	depends on (MFD_TIMBERDALE && TIMB_DMA) || COMPILE_TEST
	select VIDEO_ADV7180
	select VIDEOBUF_DMA_CONTIG
	---help---
	  Add support for the Video In peripherial of the timberdale FPGA.

config VIDEO_M32R_AR
	tristate "AR devices"
	depends on VIDEO_V4L2
	depends on M32R || COMPILE_TEST
	---help---
	  This is a video4linux driver for the Renesas AR (Artificial Retina)
	  camera module.

config VIDEO_M32R_AR_M64278
	tristate "AR device with color module M64278(VGA)"
	depends on PLAT_M32700UT
	select VIDEO_M32R_AR
	---help---
	  This is a video4linux driver for the Renesas AR (Artificial
	  Retina) with M64278E-800 camera module.
	  This module supports VGA(640x480 pixels) resolutions.

	  To compile this driver as a module, choose M here: the
	  module will be called arv.

config VIDEO_OMAP3
	tristate "OMAP 3 Camera support"
	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
	depends on HAS_DMA
	depends on OMAP_IOMMU
	select ARM_DMA_USE_IOMMU
	select VIDEOBUF2_DMA_CONTIG
	select MFD_SYSCON
	---help---
	  Driver for an OMAP 3 camera controller.

config VIDEO_OMAP3_DEBUG
	bool "OMAP 3 Camera debug messages"
	depends on VIDEO_OMAP3
	---help---
	  Enable debug messages on OMAP 3 camera controller driver.

config VIDEO_S3C_CAMIF
	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
	depends on PM
	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	---help---
	  This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
	  host interface (CAMIF).

	  To compile this driver as a module, choose M here: the module
	  will be called s3c-camif.

source "drivers/media/platform/soc_camera/Kconfig"
source "drivers/media/platform/exynos4-is/Kconfig"
source "drivers/media/platform/s5p-tv/Kconfig"
source "drivers/media/platform/am437x/Kconfig"
source "drivers/media/platform/xilinx/Kconfig"

endif # V4L_PLATFORM_DRIVERS

menuconfig V4L_MEM2MEM_DRIVERS
	bool "Memory-to-memory multimedia devices"
	depends on VIDEO_V4L2
	depends on MEDIA_CAMERA_SUPPORT
	default n
	---help---
	  Say Y here to enable selecting drivers for V4L devices that
	  use system memory for both source and destination buffers, as opposed
	  to capture and output drivers, which use memory buffers for just
	  one of those.

if V4L_MEM2MEM_DRIVERS

config VIDEO_CODA
	tristate "Chips&Media Coda multi-standard codec IP"
	depends on VIDEO_DEV && VIDEO_V4L2 && ARCH_MXC
	depends on HAS_DMA
	select SRAM
	select VIDEOBUF2_DMA_CONTIG
	select VIDEOBUF2_VMALLOC
	select V4L2_MEM2MEM_DEV
	select GENERIC_ALLOCATOR
	---help---
	   Coda is a range of video codec IPs that supports
	   H.264, MPEG-4, and other video formats.

config VIDEO_MEM2MEM_DEINTERLACE
	tristate "Deinterlace support"
	depends on VIDEO_DEV && VIDEO_V4L2 && DMA_ENGINE
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	    Generic deinterlacing V4L2 driver.

config VIDEO_SAMSUNG_S5P_G2D
	tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	default n
	---help---
	  This is a v4l2 driver for Samsung S5P and EXYNOS4 G2D
	  2d graphics accelerator.

config VIDEO_SAMSUNG_S5P_JPEG
	tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	---help---
	  This is a v4l2 driver for Samsung S5P, EXYNOS3250
	  and EXYNOS4 JPEG codec

config VIDEO_SAMSUNG_S5P_MFC
	tristate "Samsung S5P MFC Video Codec"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	default n
	help
	    MFC 5.1 and 6.x driver for V4L2

config VIDEO_MX2_EMMAPRP
	tristate "MX2 eMMa-PrP support"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on SOC_IMX27 || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	    MX2X chips have a PrP that can be used to process buffers from
	    memory to memory. Operations include resizing and format
	    conversion.

config VIDEO_SAMSUNG_EXYNOS_GSC
	tristate "Samsung Exynos G-Scaler driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_EXYNOS5 || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.

config VIDEO_STI_BDISP
	tristate "STMicroelectronics BDISP 2D blitter driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_STI || COMPILE_TEST
	depends on HAVE_DMA_ATTRS
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	  This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.

config VIDEO_SH_VEU
	tristate "SuperH VEU mem2mem video processing driver"
	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	help
	    Support for the Video Engine Unit (VEU) on SuperH and
	    SH-Mobile SoCs.

config VIDEO_RENESAS_VSP1
	tristate "Renesas VSP1 Video Processing Engine"
	depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA
	depends on (ARCH_SHMOBILE && OF) || COMPILE_TEST
	select VIDEOBUF2_DMA_CONTIG
	---help---
	  This is a V4L2 driver for the Renesas VSP1 video processing engine.

	  To compile this driver as a module, choose M here: the module
	  will be called vsp1.

config VIDEO_TI_VPE
	tristate "TI VPE (Video Processing Engine) driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on SOC_DRA7XX || COMPILE_TEST
	depends on HAS_DMA
	select VIDEOBUF2_DMA_CONTIG
	select V4L2_MEM2MEM_DEV
	default n
	---help---
	  Support for the TI VPE(Video Processing Engine) block
	  found on DRA7XX SoC.

config VIDEO_TI_VPE_DEBUG
	bool "VPE debug messages"
	depends on VIDEO_TI_VPE
	---help---
	  Enable debug messages on VPE driver.

endif # V4L_MEM2MEM_DRIVERS

menuconfig V4L_TEST_DRIVERS
	bool "Media test drivers"
	depends on MEDIA_CAMERA_SUPPORT

if V4L_TEST_DRIVERS

source "drivers/media/platform/vivid/Kconfig"

config VIDEO_VIM2M
	tristate "Virtual Memory-to-Memory Driver"
	depends on VIDEO_DEV && VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	select V4L2_MEM2MEM_DEV
	default n
	---help---
	  This is a virtual test device for the memory-to-memory driver
	  framework.
endif #V4L_TEST_DRIVERS
